<?php 
//返回json或xml数据
class Xj{
	/**
	**按json方式输出通信数据
	*/
	public static function json($code,$msg,$data){
		if(!is_numeric($code)){
			return '';
		}
		$arr=[
			'code'=>$code,
			'msg'=>$msg,
			'data'=>$data
		];
		$result=json_encode($arr,1);
		
		echo $result;
	} 
		/**
		**按xml方式输出通信数据
		*/

	public static function xml($code,$msg,$data){
		header("Content-type:text/xml");
		$arr=[
			'code'=>$code,
			'msg'=>$msg,
			'data'=>$data
		];
		$xml='<?xml version="1.0" encoding="utf-8"?>';
		$xml.="<path>";
		$xml.=self::getXml($arr);
		$xml.="</path>";
		echo $xml;
	}

	public static function getXml($arr){
				$xml='';
		foreach ($arr as $key => $value) {
			
			$xml.="<$key>";
			$xml.=is_array($value)?self::getXml($value):$value;
			$xml.="</$key>";
		}
		return $xml;
	}
		/**
		**$type=json 输出json格式
		**$type=xml 输出xml格式
		**$type=array 输出数组格式
		*/
	public static function getXmlJson($code,$msg,$data,$type='json'){
		if(!is_numeric($code)){
			return false;
		}
			$arr=[
			'code'=>$code,
			'msg'=>$msg,
			'data'=>$data
		];
		$type=$_GET['type']!=''?$_GET['type']:'json';
		if(!in_array($type,array('json','xml','array'))){
			return false;	
		}
		if($type=='json'){
			self::json($code,$msg,$arr);
		}elseif ($type=='xml') {
			self::xml($code,$msg,$arr);
		}elseif ($type=='array') {
			print_r($arr);
		}else{
			//to do	
		}
	}

}
$array=[
	'name'=>'陈建兵',
	'age'=>'23',
	'sex'=>'男'
];
Xj:: getXmlJson('200','success',$array);